System and method for automated experimentation

ABSTRACT

In variants, a method for automated experimentation can include: determining experimental constraints, constructing a computational representation of the experiment, optimizing the computational representation subject to the experimental constraints, determining instructions for a laboratory robot based on the optimized computational representation, and/or any other suitable steps.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.18/111,366 filed 17 Feb. 2023, which claims the benefit of U.S.Provisional Application No. 63/311,343 filed 17 Feb. 2022, each of whichis incorporated in its entirety by this reference.

TECHNICAL FIELD

This invention relates generally to the laboratory robotics field, andmore specifically to a new and useful system and method in thelaboratory robotics field.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a schematic representation of a variant of the method.

FIG. 2 depicts an embodiment of the system.

FIG. 3A depicts a first example of the method, including reagentdilution directed acyclic graph subcomponents (sub-DAGs).

FIG. 3B depicts a second example of the method, including experimentoperation directed acyclic graph subcomponents (sub-DAGs).

FIG. 4 depicts an example of translating robot instructions to softwarecommands for a laboratory robot system.

FIG. 5 depicts an example of generating software commands for alaboratory robot system.

FIG. 6 depicts an illustrative example of optimizing a computationalrepresentation.

FIG. 7 depicts an illustrative example of a mapping between acomputational representation and deck locations.

FIG. 8 depicts an example of determining error values for acomputational representation.

FIG. 9 depicts an illustrative example of constructing a computationalrepresentation.

FIGS. 10A and 10B depict a first illustrative example of a computationalrepresentation pre-optimization and post-optimization, respectively.

FIGS. 11A and 11B depict a second illustrative example of acomputational representation pre-optimization and post-optimization,respectively.

FIG. 12 depicts an illustrative example of a user interface forexperiment specification.

FIG. 13 depicts an illustrative example of a user interface forexperimental constraints.

FIG. 14 depicts an illustrative example of a user interface forexperiment setup.

FIG. 15 is an illustrative example of a user interface for experimentsetup.

DETAILED DESCRIPTION

The following description of the embodiments of the invention is notintended to limit the invention to these embodiments, but rather toenable any person skilled in the art to make and use this invention.

1. Overview

As shown in FIG. 1 , the method can include: determining experimentalconstraints S200, constructing a computational representation of theexperiment S300, optimizing the computational representation subject tothe experimental constraints S400, determining instructions for alaboratory robot based on the optimized computational representationShoo, and/or any other suitable steps.

In variants, the method can function to reduce user time spentprogramming, calibrating, setting up, and/or running experiments usingone or more liquid-handling robots (e.g., across multiple liquidhandling robot models) and/or other laboratory robots.

2. Examples

In an example, the method can include: receiving an experimentspecification from a user (e.g., including reagents and final productconcentrations); translating the experiment specification intoexperimental constraints; determining a directed acyclic graphic (DAG)or other process graph prescribing experimental steps, and optimizingthe DAG. Nodes of the DAG can correspond to experiment samples (e.g.,liquid, solid, or gaseous samples) and/or specifications thereof (e.g.,volume, mass, concentration, location of the sample container, errorthereof, etc.). Edges of the DAG can correspond to experiment operations(e.g., liquid transfer, mass transfer, dilution, washing etc.) and/orspecifications thereof (e.g., transfer volume, dilution factor, time,error thereof, etc.). In examples, the DAG can be optimized to minimizethe number of experiment operations, to minimize error (e.g., pipettingerror), and/or a combination thereof. The nodes and/or edges of the DAGcan be constrained during optimization based on the experimentalconstraints (e.g., where specifications for final sample(s) at the leafnode(s) of the DAG are held static), robot constraints (e.g., availableoperations, error, etc.), and/or other constraints. The optimized DAG(and optionally liquid-handling robot specifications) can be used todetermine the experiment setup for a user to implement (e.g., initialvolume, concentration, and/or placement of reagents), and to determineinstructions for a liquid-handling robot to execute the experimentalprocedure (e.g., aspirate 1 μL of Reagent A from well #A1). The robotinstructions can then be translated into software commands (e.g.,including dispensing speed, movement speed, etc.) for theliquid-handling robot. The robot instructions and/or software commandscan be determined and/or adjusted based on a liquid characterizationmodel used to determine physical characteristics of a sample present inthe experiment.

3. Technical Advantages

Variants of the technology can confer one or more advantages overconventional technologies.

First, programming liquid-handling robots for experiments istime-consuming and requires in-depth programming knowledge for eachrobot platform (which can be significantly different from one another);this creates a barrier to automated experiment adoption. Variants ofthis technology provide a no- or low-code programming interface tospecify the parameters of an experiment, which the system thenautomatically translates into robot control motions (e.g., in variants,accounting for liquid physics and physical characteristics), therebydrastically reducing the cognitive overhead for users. In variants, thistranslation to robot control motions can be performed across a spectrumof laboratory robot models (e.g., liquid handling robot models) producedby different manufacturers, each with different instruction sets andmethods of programming.

Second, variants of the technology can provide a unified solution thatcan interface with a variety of laboratory robots without significantchanges to the programming pipeline. This can enable laboratories toimplement a uniform system across multiple robotic platforms.

Third, defining an experiment for a robot conventionally requiressignificant amounts of manual input from the user (e.g., to determinethe exact steps the robot should implement, to calibrate the robot forvarying reagent properties, etc.). Variants of the technology canautomatically optimize the experimental stages, specific robotinstructions, and/or system-specific commands, which results in higherexperimental throughput. In examples, by representing the experimentand/or substeps thereof as a graph, the system can apply graph-basedoptimization and transformation methods to quickly determine the numberof experiment operations (e.g., number of dilutions), experimentoperation parameters (e.g., dilution factors), the volumes of eachsample, the concentration of each sample, the lab equipment needed,and/or other experimental parameters (e.g., without additional userinput).

Fourth, liquid handling robots inherently have pipetting error, whichcan cause significant sample concentration error, particularly whenperforming dilutions using small liquid volumes. Variants of thetechnology can determine an optimal dilution sequence that minimizespipetting error, and/or optimizes for a trade-off between minimizingpipetting error, minimizing the number of experiment operations (e.g.,minimizing time), minimizing diluent and/or reagent volume used, and/orany other objectives.

Fifth, computational optimization methods applied to liquid handlingrobot operations can introduce an error difference between target samplecompositions and actual manufactured sample compositions due to thediscrete (minimum) transfer volume (aspiration/dispensing volume) of therobot. Variants of the technology can convert floating point values tocommon fractions such that this error difference is below a threshold(e.g., below a detectable threshold, below the pipetting error of therobot, etc.).

Sixth, variants of the technology can increase efficient utilization ofa laboratory robot, often a rate limiting step in experiments. In afirst example, experiments can include long sequences of steps, eachwith their own dependencies and time constraints. Variants of thetechnology can optimize the schedule for each experiment step to ensureefficient laboratory robot operation. In a second example, certainexperiment assays are difficult and extremely costly if performedincorrectly, and often require an expert to perform. Variants of thetechnology provide fully- or semi-automated experimentation, which canincrease the accuracy of assays that are sensitive to error, and canenable these assays to be performed without an expert.

However, further advantages can be provided by the system and methoddisclosed herein.

4. System

The automated experimentation method can be performed using a systemincluding: a laboratory robot system (e.g., a liquid handling robotsystem), a deck, a user interface, and/or any other suitable components.The system can optionally include one or more models (e.g., anoptimization model, a liquid characterization model, etc.), a database,and/or any other suitable components. Examples of system components areshown in FIG. 2 .

The laboratory robot system can include a laboratory robot (e.g., acustom robot and/or a third-party robot), an associated software system,a deck, and/or any other suitable components. The laboratory robotsystem can optionally include measurement systems (e.g., assay tools,sensors, etc.) and/or any other suitable components. The laboratoryrobot can be a liquid handling robot, a mass transfer robot, an assayrobot, and/or any other suitable robot. The laboratory robot can includean end effector and/or end effector attachments (e.g., pipetting heads,pipette tips, graspers, etc.). For example, the laboratory robot caninclude a single channel pipettor, a multi-channel pipettor, and/or anyother pipettor system. The laboratory robot system can perform one ormore experiment operations including: diluting samples, transferringsamples (e.g., liquids, solids, gels, any mass, etc.), washing samples(e.g., including aspiration and dispensing at equivalent rates), colonypicking, moving (e.g., to a new sample, between samples, etc.),collecting measurements (e.g., images, volume, weight and/or mass,force, pressure, temperature, etc.), and/or any other operations. Anexperiment operation (e.g., experiment step, experiment stage, etc.) canbe associated with experiment operation specifications, including: anexperiment operation identifier (e.g., ‘dilution,’ ‘mass transfer,’‘washing,’ ‘mixing’, ‘wait’, etc.), volume (e.g., transfer volume, ratioof transfer volume to total volume at the destination containerpost-transfer), mass (e.g., transfer mass), dilution factor (e.g., 1%,lox, a volume ratio, etc.), time (e.g., to wait, to incubate, starttime, etc.), temperature, laboratory robot movement speed, laboratoryrobot aspiration rate, position in a sequence of experiment operations,robot instructions to perform the experiment, error (e.g., uncertaintyassociated with the experiment operation), and/or any other associatedinformation.

The laboratory robot system can optionally be associated with a set oflaboratory robot specifications, including: aspiration parameters,actuation parameters (e.g., rate of movement, number of degrees offreedom, origin location, actuation error, etc.), manufacturerinformation (e.g., make and/or model of the laboratory robot system),number of pipetting channels, pipette tip type (e.g., pipette tip typesavailable to a user and/or that can interface with the laboratory robotsystem), pipette tip sizes (e.g., pipette tip sizes available to a userand/or that can interface with the laboratory robot system), distancebetween pipette tips, calibration information, deck specifications,and/or any other specifications. Aspiration parameters can include:aspiration rate, aspiration pressure (e.g., pressure applied by apipettor drive shaft/plunger), transfer volume (e.g., aspirationvolume), valve open/close duration, control signal values (e.g., whereinthe control signal drives the aspiration rate, aspiration pressure,etc.), actuation error (e.g., transfer volume error), values thereof(e.g., minimum values, maximum values, target values, calibrated values,etc.), ranges thereof, and/or any other pipetting parameters. In aspecific example, aspiration parameters can include a minimum transfervolume (e.g., a minimum transfer volume that satisfies a maximum errorconstraint, aspirator resolution, etc.) and/or a maximum transfer volume(e.g., maximum volume given a pipette tip size). Aspiration can includepositive aspiration and/or negative aspiration (e.g., dispensing). Thelaboratory robot can additionally or alternatively be associated with aset of limitations or constraints (e.g., determined from or specifiedwithin the laboratory robot specification, otherwise determined, etc.),such as motion limitations, pipette limitations, volume limitations,sample material phase limitations (e.g., liquid, solid, viscosity,etc.), supported deck types, well count limitations, and/or otherlimitations.

The laboratory robot specifications can be retrieved (e.g., from athird-party database, from a system database, etc.), determined based onmeasurements (e.g., calibration measurements), determined based on userinputs, determined based on sample characteristics (e.g., an aspirationrate parameter determined based on viscosity of a sample), determinedbased on sample volumes (e.g., pipette tip size selected based on themaximum sample volume that will be aspirated), determined based oninformation retrieved from a database (e.g., known associations betweenaspiration parameters and dispensing volumes), and/or otherwisedetermined. The laboratory robot specifications can optionally bespecific to a manufacturer, a make/model, a specific robot, a samplecharacteristic (e.g., sample type, sample viscosity, etc.), and/orotherwise configured.

The laboratory robot system can include and/or interface with a deck,which functions to hold (physical) containers (e.g., wells, vials,vessels, cuvettes, cartridges, etc.) for experiment samples. The deck(e.g., container carrier, well plate, etc.) can be associated with a setof deck locations (e.g., center location for each container), availablecontainers (e.g., size/volume of containers, container type, etc.),other available labware, and/or any other deck specifications. A decklocation can be a set of xyz coordinates (relative to a laboratory robotsystem origin), a location identifier, and/or otherwise configured. Decklocations (e.g., including deck subvolume locations) can bepredetermined (e.g., by the laboratory robot system and/or associatedsoftware), retrieved (e.g., from a system database), determined based onmeasurements (e.g., calibration measurements), determined based on userinputs, determined using a model (e.g., the optimizer model), determinedrandomly, and/or otherwise determined. Deck subvolume locations (e.g.,well locations, vial locations, other container locations, etc.) can beinferred (e.g., based on the deck location), measured, retrieved,predetermined, and/or otherwise determined. Individual deck subvolumescan optionally be associated with an identifier (e.g., a location, anindex, a row/column combination, etc.). However, the deck can beotherwise configured.

However, the laboratory robot system can be otherwise defined.

Samples can be liquid, solid, gaseous, and/or have any other state ofmatter. For example, samples can include solutions (e.g., aqueous and/ornon-aqueous solution), organic and/or inorganic matter, gels (e.g.,agar), surfactants, solvents, buffers (e.g., wash buffer), acids, bases,biological material, media, salts, diluents (e.g., water) and/or anyother substances. Samples can optionally include reagents (e.g.,starting reagents) and/or reagent mixtures (e.g., mixtures of multiplereagents, mixtures including water and one or more reagents, etc.).Samples can be single-component samples (e.g., wherein the sampleincludes a single compound, optionally diluted), multi-componentsamples, and/or be otherwise configured. For example, a starting reagentcan be a starting compound diluted to a starting concentration. Liquidsamples can be viscous (e.g., a viscosity between 1 cSt-10,000 cSt) ornon-viscous. Samples can be starting samples (e.g., starting reagents),intermediate samples (e.g., samples manufactured or used in service ofcreating a target sample), target samples (e.g., final samples), and/orany other sample.

A sample can optionally be associated with a set of samplespecifications. In examples, the sample specifications can include: anidentifier (e.g., the name of the sample, the name of component(s) inthe sample, etc.), sample composition (e.g., concentration, volume,mass, etc.), sample characteristics (e.g., viscosity, surface tension,liquid class, rheology profile, adhesion, adsorption, miscibility, molarmass, state of matter, any other sample property, etc.), sample state(e.g., “mixed”, “incubated”, “washed”, etc.), deck location, container(e.g., size, identifier, etc.), and/or any other sample information. Invariants, the sample state and/or robot state can be defined by a set ofvariables. The set of variables can include: physical properties (e.g.,viscosity, liquid type, liquid class, rheology, pH, etc.); quantifiablemeasurements (e.g., volume, concentration, etc.); spatial geometries(e.g., 3D models of wells, well shapes, logical and spatial coordinatesof wells, location of each labware instance on the deck or deck layout,location of factors within the labware or plate layout, etc.); temporalvariables (e.g., time constraints, such as wait or incubate; robotoperation duration; time effect on samples, such as evaporation ortemperature change; etc.); biology or chemistry variables (e.g.,sterility, temperature, chemical composition, oxygen concentration, CO₂concentration, compound ratios, etc.); operational variables (e.g.,distal end of tip position and/or pose, tip type, touch tip, blowout,offsets, etc.); and/or other variables. The sample state (e.g., variablevalues) can be changed (e.g., from Si to Si₊₁) by a set of operations ortransformations, such as mixing, transferring, stirring, shaking, and/orother transformations. The variable values can be constrained, whereinthe set of intermediate states and transformations can be determined bythe one or more models in light of the constraints (e.g., using anoptimization, by mutating free variables to satisfy the constraints,etc.). In an example, sample concentration can include concentration ofeach constituent component (e.g., reagent) of the sample. Samplespecifications can be retrieved (e.g., from a third-party database, froma system database, etc.), determined based on measurements (e.g.,calibration measurements), determined based on user inputs, determinedbased on other sample specifications, determined based on informationretrieved from a database (e.g., known associations between sampleidentifiers and sample characteristics), determined using a model (e.g.,sample composition determined using the optimizer model), and/orotherwise determined.

However, samples can be otherwise defined.

The user interface can function to receive user inputs definingexperimental constraints (e.g., prescribing an experimentspecification). In specific examples, the user interface can receiveinputs including: experiment operation specifications, samplespecifications (e.g., target sample compositions, reagents, initialreagent concentrations, etc.), laboratory robot specifications, platelocations, deck locations, variable values (e.g., initial variablevalues, initial experiment state, etc.), and/or any other inputs. Theuser interface can optionally include a series of questions posed to theuser, wherein user responses (e.g., a selection from a list of options,a manually entered value, etc.) are converted to experimentspecifications. In a specific example, initial questions can be at ahigher level of granularity relative to subsequent questions. Questionscan optionally be determined based on user responses to one or moreprevious questions. Examples of a user interface are shown in FIG. 12 ,FIG. 13 , FIG. 14 , and FIG. 15 . However, the user interface can beotherwise configured.

The system can optionally include a database (e.g., local database,remote database such as a cloud database, etc.). In examples, thedatabase can include: measurements (e.g., calibration measurements,experiment results, feedback associated with an experiment operation,other measurements acquired using the laboratory robot system, etc.),laboratory robot specifications, sample specifications, computationalrepresentations (e.g., values associated with an optimized computationalrepresentation), laboratory robot instructions, laboratory robotsoftware commands, associations thereof, and/or any other information.In a specific example, the database can store experiment methodinformation (e.g., sequence of experiment operations, dilution factors,sample compositions, etc.), experiment result information (e.g.,measurements associated with one or more samples), and/or any otherinformation. However, the database can be otherwise configured.

The system can include one or more models, including liquidcharacterization models, optimization models, error models,constraint-based modeling (e.g, chronological backtracking, constraintpropagation, etc.; using constraint programming techniques; etc.),and/or any other model. The models can include or use: regression (e.g.,leverage regression), classification, neural networks (e.g., CNN, DNN,CAN, LSTM, RNN, etc.), rules, heuristics, equations (e.g., weightedequations, etc.), selection (e.g., from a library), instance-basedmethods (e.g., nearest neighbor), regularization methods (e.g., ridgeregression), decision trees, Bayesian methods (e.g., Naïve Bayes,Markov, hidden Markov models, etc.), kernel methods, deterministics,genetic programs, encoders (e.g., autoencoders), support vectors,ensemble methods, optimization methods, statistical methods (e.g.,probability), comparison methods (e.g., matching, distance metrics,thresholds, etc.), dimensionality reduction, clustering methods,geometric solvers, discretization methods, factorization methods, and/orany other suitable method. Models can use classical or traditionalmodels, machine learning models, and/or be otherwise configured.

Models can be trained, learned, fit, predetermined, and/or can beotherwise determined. Models can be trained using self-supervisedlearning, semi-supervised learning, supervised learning, unsupervisedlearning, transfer learning, reinforcement learning, and/or any othersuitable training method.

The models can optionally be explained or explainable using methods suchas local interpretable model-agnostic explanations (LIME), ShapleyAdditive explanations (SHAP), t-statistic values, coefficient analyses,by interrogating the resultant experiment plan, and/or otherinterpretation methods.

The system can optionally include an optimization model, which canfunction to optimize a computational representation. For example, theoptimization model can function to optimize: the geometry of thecomputational representation, values associated with nodes and/or edgesof the computational representation, a mapping between the computationalrepresentation and the deck, and/or any other computationalrepresentation parameters. In examples, the optimization model can use:geometric solvers (e.g., nonlinear geometric solvers), graph-basedoptimization methods, constraint programming, propagation, errorpropagation, genetic algorithms, iterative methods, mixed integeroptimization, objective functions, convex and/or non-convex optimizationmethods, and/or any other models.

Inputs to the optimization model can include: experimental constraints(e.g., experiment specifications, sample specifications, laboratoryrobot specifications, etc.), an initial computational representation,and/or any other suitable inputs. In a specific example, for a dilutionexperiment operation, inputs can include an initial computationalrepresentation with parameters constrained by target samplecompositions, and optionally starting reagent compositions (e.g.,starting concentration). In a second specific example, for an experimentincluding a mass transfer experiment operation, inputs can include acomputational representation with parameters constrained by a targetmass (to be transferred).

Outputs from the optimization model can include an optimizedcomputational representation and/or any other suitable outputs. Inexamples, the optimized computational representation includes: nodevalues (e.g., sample specifications such as a sample composition), edgevalues (e.g., experiment operation specifications), computationalrepresentation geometry (e.g., quantity of nodes and edges, position ofeach node and edge, etc.), a mapping between the computationalrepresentation and the deck (e.g., each node is mapped to acontainer—with an associated deck location—housing a sample associatedwith the node), traversal sequence, and/or any values for any otherparameters. Outputs from the optimization model can optionally includeinstructions for the laboratory robot (e.g., node/edge traversalsequence for the laboratory robot, sequence of experiment operationsperformed by the laboratory robot, initial laboratory robot location,etc.), specifications for the laboratory robot (e.g., pipette tip type,pipette tip size, etc.), an initial experiment setup (e.g., startingdeck locations of reagents and/or other samples, starting deck locationsof containers, starting reagent composition, etc.), and/or any otherexperiment parameters.

Output values can be continuous, discrete, floating point (e.g., afloating point representation), fractional (e.g., a fractionrepresentation, a common fraction representation), integer (e.g., aninteger representation), rational, irrational, rounded (e.g., rounded toan integer, rounded to a common fraction, etc.), a combination thereof,and/or have any other form. In a specific example, the optimizationmodel can optimize the computational representation using floating pointrepresentations of values (e.g., without using mixed integeroptimization methods), wherein all or a subset of values for theoptimized computational representation can be converted to a fractionalrepresentation (e.g., a common fraction representation) and/or otherwisetransformed.

However, the optimization model can be otherwise configured.

The system can optionally include sample characterization models (e.g.,liquid characterization models), which can function to determine (e.g.,predict, model, etc.) physical characteristics for a sample and/ordetermine laboratory robot specifications and/or instructions based onthe physical characteristics. The sample is preferably a liquid sample,but can alternatively be a solid or gaseous sample.

Inputs to the sample characterization model can include measurementsassociated with a sample (e.g., measured using the laboratory robotsystem and/or otherwise received), known sample characteristics, and/orany other suitable inputs. Outputs from the sample characterizationmodel can include characteristics for a sample, laboratory robotspecifications, laboratory robot instructions, and/or any other suitableoutputs. In examples, the laboratory robot specification outputs caninclude: how fast to move the end effector, how long to wait before theend effector is moved, optimal aspiration and/or dispensing speed,optimal aspiration and/or dispensing force, and/or any otherspecifications or experiment operation instructions.

Each sample characterization model can be associated with one or moresamples; and/or each sample can be associated with one or more samplecharacterization models. Samples (e.g., of one or more liquids, one ormore components, etc.), can be modelled using a sample-specific model,or have characteristics calculated using the models of the constituentcomponents (e.g., have a viscosity that is the average of the componentviscosities, weighted by volume).

However, the sample characterization model can be otherwise configured.

The system can optionally include a computing system (e.g., aprocessor), which can include one or more: CPUs, GPUs, customFPGA/ASICS, microprocessors, servers, cloud computing, and/or any othersuitable components. The computing system can be local, remote,distributed, or otherwise arranged relative to any other system ormodule. In a first example, the computing system includes a robotprocessing system. In a second example, the computing system includes aseparate processing system communicatively connected to the robotprocessing system (e.g., colocalized or remote from the robot). Forexample, the computing system can transmit software commands to thelaboratory robot system (e.g., batched, streaming, etc.).

However, the method can be performed with any other suitable system.

5. Method

As shown in FIG. 1 , the method can include: determining experimentalconstraints S200, constructing a computational representation of theexperiment S300, optimizing the computational representation subject tothe experimental constraints S400, determining instructions for alaboratory robot based on the optimized computational representationShoo, and/or any other suitable steps. The method can optionallyinclude: determining an experiment specification S00, determining anexperiment setup S500, generating software commands for the laboratoryrobot S650, executing the experiment S700, collecting measurements S750,and/or any other suitable steps

All or portions of the method can be performed in real time (e.g.,responsive to a request), iteratively, concurrently, asynchronously,periodically, and/or at any other suitable time. All or portions of themethod can be performed in response to one or more user inputs (e.g.,submitting a finalized experiment specification to a user interface,selecting a robot type, confirming experiment setup, etc.) and/or at anyother time. All or portions of the method can be performedautomatically, manually, semi-automatically, and/or otherwise performed.

All or portions of the method can be performed by one or more componentsof the system, using a computing system (e.g., a robot processingsystem, a separate processing system communicatively connected to therobot processing system, a distributed processing system, etc.), using adatabase (e.g., a system database, a third-party database, etc.), by auser, and/or by any other suitable system.

The method can optionally include determining an experimentspecification S100, which can function to define the experimentprotocol, experiment start points, and/or experiment endpoints (e.g.,target sample compositions). S100 can be performed before S200 and/or atany other time.

In examples, the experiment specification can include: samplespecifications (e.g., for starting reagents, for target samples, etc.),experiment operation specifications (e.g., experiment operationidentifier; values for volume transfer, dilution factor, wait time,incubation time, incubation temperature, etc.; experiment operationsequence; etc.), and/or any other experiment parameter. The experimentspecification can be complete (e.g., values for the entire experimentspecification are defined) or incomplete (e.g., values for a subset ofthe experiment specification are undefined/unknown). In a first specificexample, sample compositions can be expressed without a concentrationand/or a volume (e.g., where the concentration and/or volume can bedetermined during computational representation optimization S400).Elements of the experiment specification can be static (e.g., treated asa constraint during S400), modifiable (e.g., can be updated duringS400), and/or otherwise configured. For example, an intermediate samplecomposition can be changed during S400, while the final samplecomposition remains static.

In a first embodiment, the experiment specification is determined byreceiving user inputs via the user interface. In a specific example, theexperiment specification includes target sample compositions input bythe user. In an illustrative example, the user can specify an experimentoperation including mixing two samples (e.g., with given samplecompositions) followed by waiting period of 30 min. In a secondembodiment, the experiment specification is retrieved from a database(e.g., of common experiment specifications, of past experimentspecifications, etc.). In a specific example, a user selects anexperiment, and an associated experiment specification is retrieved froma database. In a third embodiment, the experiment specification ispredetermined. In a first specific example, target sample compositionsare assigned a predetermined volume (e.g., the same volume for eachtarget sample). In a second specific example, a final experimentoperation in manufacturing each target sample (e.g., a final volumetransfer between a penultimate container and a final container) isassigned a predetermined transfer volume, wherein the predeterminedvolume can optionally be equal to a minimum transfer volume associatedwith the laboratory robot. The predetermined transfer volume can bebetween 0.1 μL-1 mL or any range or value therebetween (e.g., 0.5 μL, 1μL, 2 μL, etc.), but can alternatively be less than 0.1 μL or greaterthan 1 mL. In a fourth embodiment, the experiment specification isdetermined using the optimization model (e.g., via S400). In a fifthembodiment, the experiment specification can be determined using acombination of the previous embodiments. For example, the experimentspecification can include target concentrations for one or more targetsamples and predetermined target volumes for the one or more targetsamples.

However, the experiment specification can be otherwise determined.

Determining experimental constraints S200 can function to defineoptimization constraints for: the computational representation (e.g.,node parameters, edge parameters, etc.), the experiment setup, the robotinstructions, and/or the software commands. S200 can be performed afterS100, after S750 (e.g., where S200 includes calculating constraintsbased on measurements), and/or at any other time.

Experimental constraints can include or be based on: the experimentspecification, laboratory robot specifications, sample specifications,experiment operation specifications, computational representationparameters, and/or any other parameters. Experimental constraints can befixed for an initial computational representation (e.g., where theconstraints are not necessarily held constant during optimization)and/or fixed for the final computational representation. Theexperimental constraints can include hard and/or soft constraints.Examples of constraints can include: binary objectives (e.g., mustcomplete within 2 hours), mathematical relationships (e.g., x+y<z),declaration of valid values (e.g., a range of acceptable values,specific scalar quantities, set of available labware, etc.), a fitnessfunction (e.g., that assigns a score to a given state and allows a userto optimize for a parameter, such as cost, time, or accuracy, etc.);specific fixed values (e.g., specify which tip type to use); stepfunctions or conditionals (e.g., if-then statements, if-else statements,etc.), and/or other constraints.

In a first variant, experimental constraints can be received (e.g.,directly from user inputs). For example, a constraint on one or morenode/edge parameters of the computational representation can bespecified directly by a user (e.g., starting reagent compositions,intermediate and/or final sample compositions, etc.). In a specificexample, the experimental constraints can include values received duringS100. In a second variant, experimental constraints can be calculated(e.g., based on measurements, sample characterization models, theexperiment specification, user inputs, etc.). In a first example, thefinal sample composition can be calculated by stepping through theexperiment specification (e.g., including dilution stages, mixingstages, etc.) to reach the target sample composition. In a secondexample, liquid handling constraints for a sample (e.g., the maximumpipette aspiration/dispensing speed and/or other aspiration parameters)can be determined using a sample characterization model associated withthe sample. In a third variant, experimental constraints can beretrieved from a database. For example, the user can select thelaboratory robot manufacturer information via the user interface, andexperimental constraints (e.g., available robot operations and/or errorassociated with the operations) can be retrieved based on the robotmanufacturer information. In a fourth variant, experimental constraintscan be predetermined. In a first example, the final volume (e.g., for agiven reagent, for a final sample, etc.) can be a fixed, predeterminedconstraint. In a second example, the minimum and/or maximum volume for agiven container size and/or experiment operation can be fixed (e.g., toreduce pipetting error).

However, experimental constraints can be otherwise determined.

Constructing a computational representation of the experiment S300 canfunction to represent experiment operations and/or samples in agraphical format that can be optimized. In an example, the constructedcomputational representation is an initial condition for optimization inS400. The computational representation preferably represents a singleexperiment (e.g., associated with an experiment specification fromS100), but can alternatively represent multiple experiments (e.g.,wherein S400 optimizes multiple parallel experiments). S300 can beperformed after S200 and/or any other time.

The computational representation is preferably a graphical computationalrepresentation (e.g., directed acyclic graph (DAG), tree, etc.), but canalternatively be a process graph, and/or any other experimentrepresentation. The computational representation can include a set ofnodes connected by a set of edges, optionally with values associatedwith nodes and/or edges. In an example, each edge of the computationalrepresentation is associated with specifications for an experimentoperation (e.g., experiment operation identifier, experiment operationvalues such as a dilution factor, etc.), and each node is associatedwith specifications for a sample (e.g., sample identifier, samplecomposition, deck location, etc.). The computational representation canbe defined by computational representation parameters, including: acomputational representation geometry (e.g., quantity of nodes andedges, position of each node and edge, etc.), values for nodes, valuesfor edges, a mapping between the computational representation and thedeck (e.g., deck locations or well locations associated with each node),a traversal sequence (e.g., sequence of the experiment operations),and/or any other parameters. Any computational representation parametercan be partially or fully determined based on experimental constraints(e.g., determined via S100 and/or S200 methods), determined usingoptimization methods (e.g., S400), predetermined, determined randomly,and/or otherwise determined. The computational representation parameterscan be complete (e.g., values for all nodes and edges are defined, thegeometry is fully defined, etc.) or incomplete (e.g., values for asubset of the computational representation parameters areundefined/unknown). Any computational representation parameter can bestatic (e.g., treated as a constraint during S400), modifiable (e.g.,can be updated during S400), and/or otherwise configured.

Nodes of the computational representation can be associated with samplesand/or specifications for samples. In an illustrative example, a nodecan be associated with a sample of 1 mol % Reagent A and 99 mol %Reagent B, and a total sample volume of 5 μL. In another example, eachnode and associated sample can be mapped to a container. In a specificexample, during experiment execution, each sample can be manufacturedwithin (e.g., located within) the associated container, wherein thesample is manufactured to have a sample composition specified by thecomputational representation. The mapping can optionally be adjusted(e.g., optimized) during or after S400. In a specific example, adjacentnodes in the computational representation can be mapped to adjacentcontainers on the deck (e.g., adjacent deck locations). An example isshown in FIG. 7 .

Nodes can optionally be associated with one or more node identifiers,wherein the node identifiers can function to distinguish between nodes,to represent a computational representation geometry, and/or provideother functions.

Edges of the computational representation can be associated withexperiment operations and/or specifications for experiment operations.In specific examples, edges can include: dilution specificationsincluding dilution factors; wait specifications including times; washingspecifications including volume of washing buffer; mass transferspecifications including mass; and/or any other experiment operationspecifications. For example, an edge connecting a first node to a secondnode can be associated with a dilution factor. The dilution factor canbe of the form V₁/V₂, where V₁ is the volume transferred from the sampleassociated with the first node to the sample associated with secondnode, and V₂ is the total volume in the sample associated with secondnode (e.g., after the individual transfer, after all transfers to thesecond node sample are complete, etc.). The volumes are preferablyintegers (e.g., such that the dilution factor is a common fractionincluding an integer over an integer), but can alternatively be indecimal form (e.g., floating point representations), include irrationalnumbers, and/or any have other form. The transfer volume to each leafnode container can optionally be a minimum transfer volume associatedwith the laboratory robot system. In an illustrative example, thevolume, V_(f), of each final sample (associated with leaf nodes of thecomputational representation) can be determined (e.g., predetermined,user-defined, etc.); the experiment operation specifications for edgesimmediately prior to these leaf nodes are then 1/V_(f), where each leafnode contains a single droplet (e.g., 1 μL) from the containercorresponding to the prior node. A predetermined volume of water oranother diluent can optionally be dispensed in leaf node containersprior to dispensing the single droplet.

Nodes and/or edges can optionally be associated with error values (e.g.,uncertainty values). Error values can be predetermined, determined usinga model (e.g., error aggregation model, error propagation model, etc.),determined using heuristics, determined using algorithms/equations,determined randomly, and/or otherwise determined. In a first variant,error values can be predetermined. For example, each dilution experimentoperation can be associated with a predetermined transfer volumeuncertainty (e.g., aspiration error, pipetting error, etc.) for thelaboratory robot. In a second variant, error values can be determinedbased on one or more experiment operation specifications. In a firstexample, transfer volume uncertainty can be determined based on the(target) transfer volume (e.g., a percentage of the total transfervolume). In a second example, transfer volume uncertainty can bedetermined based on the dilution factor. In a third example, transfervolume uncertainty can be determined based on the pipette tip size(e.g., where each pipette tip size is associated with an uncertaintypercentage and/or volume). In a third variant, error values can bedetermined based on measurements (e.g., calibration measurements). In afourth variant, error values can be determined based on other errorvalues (e.g., propagating error along the computational representation);an example is shown in FIG. 8 . In a first example, an experimentoperation error value associated with an edge can be propagated to asample composition error value associated with a node. In a secondexample, an experiment operation error value associated with a firstedge can be aggregated with an experiment operation error valueassociated with a second edge (connected to the first edge). In specificexamples, error values can be calculated using uncertainty propagationmethods, other statistical methods, and/or any other error model.However, error values can be otherwise determined.

S300 can optionally include determining initial (non-optimal)computational representation parameters. For example, the initialcomputational representation parameters can be selected such that thecomputational representation completely or partially satisfies theexperimental constraints. Initial values for nodes and/or edges can bedetermined based on experimental constraints (e.g., sample compositionconstraints), determined based on an initial computationalrepresentation geometry (e.g., determined such that the values satisfythe experimental constraints in the initial geometry), determined basedon the robot specification (e.g., robot constraints), predetermined,determined, randomly, and/or otherwise determined. In a first example,leaf nodes (representing target samples) can be assigned a target samplecomposition. In a second example, root nodes (representing startingreagents) can be assigned a partial or complete starting samplecomposition (e.g., including concentration values with unknown samplevolumes). In a third example, sample compositions associated with rootnodes and/or intermediate nodes can be unknown.

Values for initial computational representation parameters can becontinuous, discrete, floating point, fractional, integer, rational,irrational, rounded (e.g., rounded to an integer, rounded to a commonfraction, etc.), a combination thereof, and/or have any other form. In afirst specific example, a leaf node can be assigned a common fractionrepresentation of the target sample composition, wherein the commonfraction representation can be an approximation of the target samplecomposition (e.g., a rounded target sample composition). Rounding (e.g.,discretizing) the target sample composition can include selecting thecommon fraction approximation with the smallest denominator such thatthe difference between the common fraction approximation and the targetsample composition is less than a maximum error threshold. The maximumerror threshold can be based on error associated with the laboratoryrobot system (e.g., pipetting error or other laboratory robot noise).

The initial computational representation parameters can include aninitial geometry. In a first variant, the initial geometry includesindividual (isolated) series of connected nodes from a root noderepresenting a starting reagent to each leaf node representing thetarget samples. In a second variant, the initial geometry can bedetermined using factorization (e.g., prime factorization). For example,determining initial computational representation parameters can includedetermining node identifiers based on prime factors (e.g., common primefactors). In a specific example, an intermediate node along a path froma root node to a leaf node can be assigned a node identifier X, where Xis a prime factor of the denominator of a common fraction representationof the leaf node sample concentration. The number of intermediate nodesfrom the root node to the leaf node can equal the number of primefactors. From the root node to the leaf node, the intermediate nodeidentifiers can proceed in order of decreasing prime factors, in orderof decreasing prime factor abundance (e.g., for the individual leafnode, relative to other leaf nodes, etc.), and/or any other order. Theroot node can optionally be assigned an identifier of 1. Nodeidentifiers can optionally be of the form (X, Y), including a secondaryidentifier, Y, which functions to differentiate between repeated uses ofthe same prime factors (e.g., (X, 3) is the third use of prime factorX). In an illustrative example, the path from a root node identifier 1to a leaf node with sample concentration of 0.7 μM passes through nodeidentifier 2 and node identifier 5 (e.g., the prime factors for thedenominator of 7/10). In examples, splitting the DAG at the mostabundant prime factor can function to achieve a balanced binary treeand/or provide an initial computational representation geometry that canbe optimized (e.g., providing the optimization model with a viablesolution). Penultimate nodes prior to the leaf nodes can optionally betransition nodes (e.g., transfer nodes), represent another action,and/or represent any other suitable information.

The computational representation can optionally be a DAG including oneor more sub-DAGs (e.g., one sub-DAG for each reagent) as subcomponentsof a unified DAG, where the unified DAG represents the completeexperiment. Sub-DAGs can represent a reagent (e.g., a dilution for asingle reagent), an experiment type (e.g., one sub-DAG for dilations ofone or more reagents, one sub-DAG for one or more mass transfers, etc.),and/or any other experiment segment. Examples are shown in FIG. 3A, FIG.3B, and FIG. 9 . For example, for a dilution experiment, each sub-DAGcan include a root node representing the initial specifications of areagent. A leaf node of the sub-DAG (e.g., which can be a leaf node ofthe unified DAG and/or a component of a leaf node of the unified DAG)can represent specifications for the final state of a reagent in theoverall experiment, represent final specifications of the reagent priorto mixing, and/or represent any other terminal state for a givenreagent. In a first variant, each sub-DAG extends through to the leafnodes of the unified DAG, and represents the portions of the unified DAGassociated with a given reagent. In a second variant, each sub-DAG onlyextends through a portion of the unified DAG depth (e.g., the initiallayers, until reagent mixing, etc.). The sub-DAGs can be optimizedindividually (e.g., in parallel, serially, through multiple iterationsof S400, etc.), or together (e.g., the unified DAG is optimized inS400). However, the sub-DAGs can be otherwise defined.

In a first example, sub-DAG node specifications for concentration andvolume can be treated as unknowns to be determined during optimizationin S400 (e.g., with the unified DAG leaf node concentration and/orvolume as a fixed constraint). In an illustrative example, thepre-optimization (e.g., naïve) sub-DAG for Reagent A contains a rootnode with volume V₁ and concentration C₁, an edge specifying a dilution,and a leaf node with volume V₂ (e.g., volume of the containerrepresented by the leaf node) and concentration C₂. Post-optimization,the sub-DAG for Reagent A includes a root node with a volume of 1 μL anda concentration of 1 mM, an edge specifying a 1:10 dilution, and a leafnode with a volume of 1 μL (e.g., representing a partial volume or finalvolume of the corresponding leaf node in a unified DAG) and aconcentration of 0.1 mM.

In a second example, the concentrations for root and/or leaf nodes ofthe sub-DAG can be determined in S200 (e.g., directly determined basedon the experimental constraints, calculated based on the constraints,etc.), while the volume remains unknown. In this example, the sub-DAGleaf node concentrations can be treated as a fixed constraint. In thisexample, the volume can be solved for during the optimization, and/or beotherwise determined. In an illustrative example, the pre-optimizationsub-DAG for Reagent A contains a root node with volume V₁ and aconcentration of 1 mM, an edge specifying a 1:10 dilution, and a leafnode with volume V₂ and a concentration of 0.1 mM. Post-optimization,the sub-DAG for Reagent A includes a root node with a volume of 10 μLand a concentration of 1 mM, an edge specifying a 1:10 dilution, and aleaf node with a volume of 1 μL and a concentration of 0.1 mM.

In a third example, the sub-DAG can be initially constructed based onthe experiment specification, but nodes defined by the experimentspecification can be modified during optimization. In an illustrativeexample, the pre-optimization sub-DAG for Reagent A contains a root nodewith volume V₁ and a concentration of 1 mM, an edge specifying a 1:10dilution, and a leaf node with volume V₂ and a concentration of 0.1 mM.Post-optimization, the sub-DAG for Reagent A includes a root node with avolume of 0.5 μL and a concentration of 0.5 mM, an edge specifying a 1:5dilution, and a leaf node with a volume of 1 μL and a concentration of0.1 mM.

The unified DAG can include each sub-DAG (e.g., with leaf nodes of oneor more sub-DAGs combined to form a leaf node of the unified DAG) and/orother child DAGs. Alternatively, the unified DAG can exclude sub-DAGs,only use the outputs of sub-DAGs, and/or be otherwise configured. Theunified DAG can include one or more final leaf nodes representingspecifications for the final state of a sample (e.g., post mixingstages). The final node specifications are preferably determined basedon the experimental constraints, but can alternatively be determinedduring optimization. Multiple leaf nodes from different sub-DAGs cancombine to form a leaf node of the unified DAG (e.g., with edgespointing from multiple sub-DAG nodes to the final leaf node, where eachedge represents a specified volume transfer).

In a first illustrative example of the unified DAG, a leaf node containsX uMol/L of Reagent A, Y uMol/L of reagent B, and has a total volume ofZ uL. The corresponding leaf node for the Reagent A sub-DAG representsthat P uL (e.g., where P can be predetermined to equal 1) of Reagent Ashould be added from the previous node in the sub-DAG (e.g., withconcentration X*Z/P uMol/L of Reagent A) to the leaf node for aconcentration of X uMol/L of Reagent A. The corresponding leaf node forthe Reagent B sub-DAG represents that Q uL (e.g., where Q can bepredetermined to equal 1) of Reagent B should be added from the previousnode in the sub-DAG (e.g., with concentration Y*Z/Q uMol/L of Reagent B)to the leaf node for a concentration of Y uMol/L of reagent B.

In a second illustrative example of the unified DAG, thepre-optimization DAG contains a parent node for Reagent A with volume V₁and concentration C₁, a parent node for Reagent B with volume V₂ andconcentration C₂, an edge from each reagent parent node to a finalunified DAG leaf node with Reagent A concentration of 0.01 mM, Reagent Bconcentration of 1 mM, and total volume 1 μL. Post-optimization, theunified DAG includes a parent node for Reagent A with volume 1 μL and aconcentration of 0.02 mM, a parent node for Reagent B with volume 1 μLand a concentration of 2 mM, an edge from the Reagent A parent node tothe final unified DAG leaf node with a transfer of 0.5 μL, an edge fromthe Reagent B parent node to the final leaf node with a transfer of 0.5μL, and a final leaf node with Reagent A concentration of 0.01 mM, andReagent B concentration of 1 mM, and final volume 1 μL.

However, the computational representation can be otherwise determined.

Optimizing the computational representation subject to the experimentalconstraints S400 functions to determine the optimal experiment operationspecifications, laboratory robot specifications, sample specifications,and/or any other experiment information. S400 can be performed afterS300 and/or at any other time.

The computational representation can be optimized to minimize ormaximize: user time, laboratory robot time, laboratory robot actions,experiment operations, computational representation parameters (e.g.,number of nodes, number of edges, etc.), dilution factors (e.g., pushdilution factors to 1 such that edges can be collapsed), laboratoryrobot error (e.g., pipetting error), computational representation error(e.g., between values in the computational representation andexperimental constraints), aggregate error (e.g., propagated laboratoryrobot error, aggregate of error values associated with edges and/ornodes, etc.), contamination risk, the number of containers locatedbetween each pair of containers associated with connected nodes (e.g.,minimizing the number of containers the laboratory robot passes overduring sample transfers to minimize a sample contamination), dead volumeof liquid, reagent volume, diluent volume, deck space utilization, anaggregate of dilution factors (e.g., product of dilution factorsassociated with each edge), a number of high-error experiment operations(e.g., dilution factors below a threshold, transfer volume below athreshold, etc.), a combination thereof, and/or any other optimizationtarget (e.g., objective). For example, the computational representationcan be optimized using multi-objective optimization (e.g., optionallyparameterizing and/or weighting multiple optimization targets, usingmultiple objective functions, etc.).

The computational representation can be optimized using the optimizationmodel, other optimization methods (e.g., graph-based optimizationmethods), iterative methods, and/or any other suitable method. Thecomputational representation is preferably optimized using convexoptimization solvers, but can alternatively include non-convexoptimization solvers and/or any other optimization method. Forconstrained optimization techniques, the constraints can include:structural/geometric constraints (e.g., acyclic constraint, mixingorder, edge sequence, etc.), node constraints (e.g., final reagentconcentration, final volume, etc.), edge constraints (e.g., maximumtransfer volume, minimum transfer volume, transfer volume frompenultimate node to leaf nodes), any experimental constraints (e.g.,represented as values in the computational representation, used todetermine acceptable computational representation parameter values,etc.), and/or any other variable constraints. The constraints usedduring optimization preferably do not include mixed integer constraints(e.g., for node values, for edge values, etc.), but can alternativelyinclude mixed integer constraints.

In a first variant, a single-stage optimization approach is used. In anexample, the computational representation optimization includesoptimization of the computational representation (e.g., a unified DAG)to determine sample specifications (e.g., volume and/or concentration)associated with each node and/or to determine experiment operationspecifications (e.g., dilution factors) associated with each edge.

In an example, all or portions of the computational representationparameters can be discretized or otherwise transformed (e.g.,post-optimization, generating a transformed optimized computationalrepresentation). An example is shown in FIG. 6 . In a specific example,transfer volumes are transformed (e.g., rounded) to integer values suchthat one or more resulting transformed computational representationparameter values have an associated error (e.g., a difference betweenthe transformed values and original experimental constraints, adifference between the transformed values and the non-transformedvalues, etc.) less than a maximum error threshold. For example, thetransfer volumes can be in decimal form (e.g., floating pointrepresentation), and transformed to integer form (e.g., integerrepresentation), The maximum error threshold can be predetermined,user-defined, based on laboratory robot error (e.g., pipetting error,measurement error, etc.), based on experimental constraints, and/orotherwise determined. In an illustrative example where edge parameterscorrespond to a ratio of transfer volume from a first node to totalvolume at a second node, the optimization determines new parametervalues (e.g., dilution factors between 0 and 1) for each edge. Thecomputational representation can be collapsed by removing all edges witha value of 1 and merging the nodes on either side. For each edge, acommon fraction (e.g., an integer valued fraction of the form a/b, suchthat the transfer volume and total volume are integers) can then bedetermined that approximates the parameter value. For example, theapproximation can have an error below a maximum error threshold. In afirst specific example, the common fraction can be selected as thefraction with the smallest denominator such that the approximation isbelow the threshold. In a second specific example, denominators can beselected to minimize the sum of the denominator's prime factors (e.g.,to minimize dead volume of liquid). An example of a first computationalrepresentation pre-optimization and post-optimization are shown in FIG.10A and FIG. 10B, respectively. An example of a first computationalrepresentation pre-optimization and post-optimization are shown in FIG.11A and FIG. 11B, respectively. In an illustrative example, if 0.2 mL istransferred from well A to well C and 0.8 mL is transferred from well Bto well C (so well C contains 1 mL) the edge from A toC=0.2/(0.2+0.8)=0.2, and the edge from B to C=0.8/(0.2+0.8)=0.8, whichis converted to an integer-valued fraction of ⅘.

In a second variant, a two-stage optimization approach is used. In afirst example, the first stage includes optimizing the computationalrepresentation geometry (e.g., the number of dilutions, placement ofspecific experiment operations in a series, etc.). In this example, thesecond stage can include, based on the computational representationgeometry optimization, optimizing the specifications for individualnodes and/or edges (e.g., determining sample component concentrationsand/or volumes). In a second example, the first stage includes partiallyor fully optimizing specifications of the nodes and edges of eachsub-DAG within a unified DAG (e.g., including concentration and/orvolume of reagent dilution steps). In this example, the second stage caninclude optimizing specifications of the nodes and edges of the unifiedDAG (e.g., where the final node specifications are prescribed based onS200).

S400 can optionally include optimizing any other specifications (e.g.,laboratory robot specifications, deck specifications, experimentoperation specifications, etc.). For example, laboratory robotspecifications (e.g., pipette tips, etc.) can be selected duringcomputational representation optimization (e.g., wherein optimizedtransfer volumes are constrained based on available pipette tips).

However, the computational representation can be otherwise optimized.

Optionally, the method can include determining an experiment setup S500,which can function to define an initial state of the laboratory robotsystem and experiment preparation (e.g., for a user to manuallyimplement). S500 can be performed after S400, during S400 (e.g., wherestarting reagent compositions and/or deck locations are determined bythe optimization), after a user selects a laboratory robotic systemand/or any other experimental constraints, and/or at any other time.S500 can be performed automatically, manually specified, and/orotherwise determined. In a first example, the experiment setup includescontainer specifications (e.g., volume, type, etc.) and/or initial decklocations for each container required to execute the optimizedexperiment. In a second example, the experiment setup includesspecifications for starting samples (e.g., composition, deck location,etc.). In a specific example, the experiment setup includes initialreagent concentrations and volumes for each starting container, andinitial volumes of diluent (e.g., water) for each intermediate and finalcontainer. Dispensing the diluent prior to performing a dilution seriescan optionally minimizing pipette tip changes and reduce overallexperiment time. In a third example, the experiment setup includes robotsystem specifications (e.g., which pipetting head to use of theavailable options specified in S100). In a fourth example, theexperiment setup includes a mapping between nodes within the finalcomputational representation and container locations and/or containertypes (e.g., well locations, deck subvolume locations, different vialvolumes, etc.). In this example, different node branches can be mappedto different rows, different columns, different rows or columnsdepending on the branch length, randomly assigned, and/or otherwisemapped. In this example, adjacent nodes (e.g., in the same branch) arepreferably mapped to adjacent wells (e.g., in the same row or column),but can alternatively be mapped to nonadjacent wells, randomly assigned,or otherwise determined. In this example, branches with common ancestrycan be mapped to adjacent rows or columns, or be mapped to nonadjacentrows or columns. However, the setup can be otherwise determined.

In a first variant, determining the setup can include using analgorithm, rule, or set of heuristics. In a first example, the containervolume for each sample (e.g., node) can be selected as the smallestavailable container that will fit the volume for that sample determinedin S400. In a second example, the sample deck location can be calculatedas the deck location that minimizes: pipette head travel, robot motion,and/or other transfer parameters. In a third example, the sample decklocation can be calculated as the deck location that minimizes thenumber of containers located between each pair of containers associatedwith connected nodes (e.g., minimizing the number of containers thelaboratory robot passes over during sample transfers to minimize asample contamination). In a second variant, the experiment setup can bedetermined via optimization methods. In a first example, deck locationsfor samples (e.g., starting reagents, intermediate samples, finalsamples, etc.) can be optimized to minimize platform space. In a secondexample, the optimal pipetting head can be selected to minimize thenumber of robot actions (e.g., experiment operations). In a thirdvariant, the experiment setup can be manually specified (e.g., a userinputs initial deck locations for reagents). However, the experimentsetup can be otherwise determined.

The experiment setup can be automatically implemented (e.g., by thelaboratory robot system, by another robot system, etc.) and/orimplemented by a user. In an example, prompts are provided to a user toimplement the determined experiment setup. In an illustrative example, auser prompt includes: insert 20 μL of Reagent A (concentration of 1M)into a 50 μL container in deck location well C₂. However, the experimentsetup can be otherwise implemented.

Determining robot instructions based on the optimized computationalrepresentation Shoo can function to translate the optimizedcomputational representation to actions for the laboratory robot system.Shoo can be performed after S400, after S500, and/or at any other time.Preferably, the robot instructions are generic robot actions associatedwith an experiment operation (e.g., aspirate, move, dispense, mix,etc.). Additionally or alternatively, the robot instructions can includeexperiment operation parameter values (e.g., dispense rate, movementspeed, instructions determined for a specific laboratory robot system,etc.). For example, the robot instructions can be aspirationinstructions, transfer instructions, movement instructions, and/or anyother experiment operation instructions. In an example, the robotinstructions can be determined using graph traversal, including movingalong each edge of the computational representation and determining(generic) robot instructions to perform the associated steps. In a firstillustrative example, the instructions include: move to a container atdeck location (0, 1), aspirate 1 μl from the container, move to acontainer at deck location (0, 2), and dispense 0.5 μl. In a secondillustrative example, the instructions include: move to deck location(0, 0) and aspirate 0.5 μl from wells 1-8 using the 8 channel pipettor.However, the robot instructions can be otherwise determined.

The method can optionally include generating software commands for thelaboratory robot 8650, which can function to translate generic robotinstructions (e.g., determined in S600) to software-specific commandsfor the laboratory robot system. In a first variant, the system includesa database of laboratory robot systems with a mapping between robotinstructions and corresponding software system commands (e.g., APIcalls). In an example of the first variant, a user can select a specificlaboratory robot system (e.g., including version number, softwareversion, etc.) from a list of available systems. A stored library, setof translation modules, and/or set of templates can then be used totranslate the determined robot instructions to software commands thatwill directly interface with the native laboratory robot software. Anexample is shown in FIG. 4 . In a second variant, the robot instructionscan be manually mapped (e.g., by the user) to the software system.Software commands and/or the robot instructions can optionally bedetermined based on measurements (e.g., calibration measurements),sample characteristics (e.g., physical characteristics), laboratoryrobot specifications, and/or other information; an example is shown inFIG. 5 . For example, the software commands can include adjustments tothe robot instructions (e.g., increasing or decreasing the aspirationrate) based on a sample viscosity and/or other characteristics. However,the robot software commands can be otherwise determined.

The method can optionally include executing the experiment S700, whichcan function to perform the optimized experiment (e.g., determined inS400), perform calibration procedures, and/or otherwise control thelaboratory robot system. S700 can be performed after S650 (e.g., whereinS700 includes executing the software commands) and/or at any other time.S700 is preferably performed automatically or semi-automatically by thelaboratory robot system, but can additionally or alternatively beperformed or controlled by a user, by a central system, and/or any othersystem.

The experiment can include the experiment specified in S100, a modifiedversion of the experiment determined in S100 (e.g., when optimizing thecomputational representation S400 modifies the experiment), preparationprocedures required prior to executing the experiment, and/or any otherprotocol. Executing can include: executing system commands (e.g.,commands from S650), providing a user with prompts (e.g., to implementexperiment steps), and/or otherwise performing protocol steps. Inspecific examples, a user can provide feedback during and/or after S700(e.g., indicating completion of a manual step, input a change in theexperiment, etc.), which can then update the computationalrepresentation, robot instructions, and/or any other element.

However, the experiment can be otherwise executed.

The method can optionally include collecting measurements S750, whichcan function to collect experiment data, to collect calibration data, toprovide feedback (e.g., feedback to the laboratory robot system, to theoptimization model, to the liquid characterization model, to a user,etc.), to generate more accurate robot instructions and/or softwaresystem commands, and/or for other measurement use cases. S750 can beperformed before all or parts of the method (e.g., calibrating thelaboratory robot), during S700 (e.g., to collect experiment results, toprovide feedback for a future experiment operation, to provide real-timefeedback for a current experiment operation, etc.), and/or at any othertime. S750 can be performed by the same laboratory robot system as usedin S700 (e.g., using measurement systems of the laboratory robotsystem), by a different system (e.g., a separate measurement system), bya user, and/or otherwise performed.

In examples, measurements can be collected by performing an assay (e.g.,fluorescence assay, liquid chromatography, mass spectrometry, etc.),measuring time (e.g., actual time in incubator, wash time, etc.),measuring volume (e.g., actual volume dispensed), measuring mass, and/orvia any other data collection method. Measurements can optionally bestored in a database. In an example, an association (e.g., a mapping)between a node of the optimized computational representation and acontainer (e.g., the deck location of the container) is known andstored; this association can then be used to associate therobot-executed protocol (e.g., S700) with measurement results determinedfrom the container's sample.

However, measurements can be otherwise collected.

Different subsystems and/or modules discussed above can be operated andcontrolled by the same or different entities. In the latter variants,different subsystems can communicate via: APIs (e.g., using API requestsand responses, API keys, etc.), requests, and/or other communicationchannels.

Alternative embodiments implement the above methods and/or processingmodules in non-transitory computer-readable media, storingcomputer-readable instructions that, when executed by a processingsystem, cause the processing system to perform the method(s) discussedherein. The instructions can be executed by computer-executablecomponents integrated with the computer-readable medium and/orprocessing system. The computer-readable medium may include any suitablecomputer readable media such as RAMs, ROMs, flash memory, EEPROMs,optical devices (CD or DVD), hard drives, floppy drives, non-transitorycomputer readable media, or any suitable device. The computer-executablecomponent can include a computing system and/or processing system (e.g.,including one or more collocated or distributed, remote or localprocessors) connected to the non-transitory computer-readable medium,such as CPUs, GPUs, TPUS, microprocessors, or ASICs, but theinstructions can alternatively or additionally be executed by anysuitable dedicated hardware device.

Embodiments of the system and/or method can include every combinationand permutation of the various system components and the various methodprocesses, wherein one or more instances of the method and/or processesdescribed herein can be performed asynchronously (e.g., sequentially),contemporaneously (e.g., concurrently, in parallel, etc.), or in anyother suitable order by and/or using one or more instances of thesystems, elements, and/or entities described herein. Components and/orprocesses of the following system and/or method can be used with, inaddition to, in lieu of, or otherwise integrated with all or a portionof the systems and/or methods disclosed in the applications mentionedabove, each of which are incorporated in their entirety by thisreference.

As a person skilled in the art will recognize from the previous detaileddescription and from the figures and claims, modifications and changescan be made to the preferred embodiments of the invention withoutdeparting from the scope of this invention defined in the followingclaims.

We claim:
 1. A method, comprising: determining constraints defining anexperiment; determining an initial graphical computationalrepresentation of the experiment based on the constraints; optimizingthe initial graphical computational representation to determine anoptimized graphical computational representation comprising a set ofnodes connected by a set of edges, wherein each edge is associated withan experiment operation, and wherein each node is associated with acomposition for a sample; and determining instructions for a robot basedon the optimized graphical computational representation, wherein therobot is configured to execute the experiment based on the instructions.2. The method of claim 1, wherein experiment operations include at leastone of: dilution, mass transfer, or washing.
 3. The method of claim 1,wherein each composition comprises a concentration and a volume, whereinoptimizing the initial graphical computational representation comprisesdetermining the concentration and volume associated with each node ofthe optimized graphical computational representation.
 4. The method ofclaim 3, wherein the constraints comprise a final reagent concentrationfor each of a set of final samples, wherein determining the initialgraphical computational representation comprises: determining a commonfraction representation of each final reagent concentration; anddetermining the initial graphical computational representation based onprime factorization of a denominator of the common fractionrepresentations.
 5. The method of claim 1, wherein each experimentoperation comprises a dilution, wherein each edge is associated with adilution factor, and wherein the initial graphical computationalrepresentation is optimized for an objective comprising minimumpipetting error.
 6. The method of claim 5, wherein the objective furthercomprises a minimum number of experiment operations.
 7. The method ofclaim 1, wherein each experiment operation comprises a dilution, whereineach edge is associated with a transfer volume, wherein optimizing theinitial graphical computational representation comprises determining anintermediate graphical computational representation using floating-pointrepresentations of transfer volumes, and transforming the floating-pointrepresentations of composition values to integer representations of thetransfer volumes to determine the optimized graphical computationalrepresentation.
 8. The method of claim 1, wherein each node is mapped toa physical container on a container carrier, wherein adjacent nodes inthe graphical computational representation are mapped to physicallyadjacent containers on the container carrier.
 9. The method of claim 1,wherein each node is mapped to a physical container on a containercarrier, wherein optimizing the initial graphical computationalrepresentation comprises minimizing a number of physical containerslocated between each pair of physical containers associated withconnected nodes.
 10. The method of claim 1, wherein each experimentoperation comprises a dilution, wherein each edge is associated with adilution factor, and wherein the instructions comprise aspirationinstructions for the robot determined based on the dilution factors. 11.A system, comprising: a user interface configured to receive experimentconstraints; a processor configured to: determine an initial graphicalcomputational representation of an experiment based on the experimentconstraints; optimize the initial graphical computational representationto determine an optimized graphical computational representationcomprising a set of nodes connected by a set of edges, wherein each edgeis associated with an experiment operation, and wherein each node isassociated with a composition for a sample; and determine softwareinstructions based on the optimized graphical computationalrepresentation; a container carrier comprising physical containers,wherein each node is mapped to a physical container housing the sampleassociated with the node; and a liquid-handling robot system configuredto execute the software instructions.
 12. The system of claim 11,wherein the system further comprises a database configured to store atleast one of: values associated with the optimized graphicalcomputational representation or measurements acquired using theliquid-handling robot system.
 13. The system of claim 11, wherein theprocessor is configured to optimize the initial graphical computationalrepresentation based on specifications associated with theliquid-handling robot system.
 14. The system of claim 13, wherein thespecifications comprise a minimum transfer volume and a maximum transfervolume.
 15. The system of claim 11, wherein the processor is configuredto determine the software instructions further based on a physicalcharacteristic for each reagent used in the experiment.
 16. The methodof claim 11, wherein optimizing the initial graphical computationalrepresentation comprises selecting a pipette tip size for the liquidhandling robot.
 17. The system of claim 11, wherein optimizing theinitial graphical computational representation comprises minimizing anumber of edges of the optimized graphical computational representation.